Transparent network traffic redirection, such as in the form of WCCP (Web Cache Communication Protocol, see e.g. draft-wilson-wrec-wccp-v2, 3 Apr. 2001, available at ietf.org) has many benefits. For example, because the redirection is transparent, it is easy to deploy. The network end hosts (the client and server) do not have to be actively aware of or configured for a proxy because redirection occurs at a switch or router between the end hosts. Network traffic redirection protocols, such as WCCP allow a cluster of Traffic Processing Entities, for example WCCP Traffic Processing Entities (WTPEs), to work together to loadshare the redirected traffic. To make sure that the router always sends packets from the same Layer 4 (L4), or OSI (Open Systems Interconnection) transport layer, session to the same WTPE an agreed upon hash algorithm, or mask with value table, is used. The inputs are selectable (for example layer 3 source address, layer 3 destination address and optionally layer 3 source/destination ports, type of service (ToS), protocol, etc.) but the fields selected remain the same to ensure consistency for the entire cluster. Using consistent inputs enables multiple routers to redirect different packets of the same flow, to ensure they arrive at the same WTPE. Any member of the WCCP service group is able to determine which WTPE is supposed to get a packet by examining the packet.
While the ability to automatically loadshare new WTPEs as they enter the system is very useful, it also creates challenges. The insertion of a new WTPE will force a rebalancing of the hash buckets. When this happens, some hash buckets that were assigned to a first WTPE will now be reassigned to a second WTPE. So a flow that the router would have sent to the first WTPE is now sent to the second WTPE, even though the second WTPE has no idea about this existing flow. Because the second WTPE has no idea about the flow, the second WTPE, which may be using flow protection, will reroute the packet to the first WTPE. This approach has several problems. Troubleshooting is extremely difficult because it is unclear which WTPE is actually processing the traffic and which WTPE is merely passing through traffic. This also increases the failure surface area for a flow because the flow is subject to failure not only when the first WTPE fails, but also if the second WTPE fails, even though the second WTPE is not even processing the flow. Moreover, this leads to a waste of bandwidth on a link, a waste of routing capacity as well as wasting processing capacity of the second WTPE.